Learning Objectives

After completing this lesson, you’ll be able to:

Setting Null Values

The usual way to set an attribute value is with the AttributeCreator or AttributeManager, and these have an option in their drop-down menu to set a value to null:

Setting a null value in the AttributeManager.

Conditional Attributes functionality also supports setting <null> values:

Setting a null value in the Condition Statement dialog.

Bulk Null Updates

The way to handle bulk updates of attributes is with the NullAttributeMapper transformer.

The NullAttributeMapper transformer allows the author to check values for any or all attributes on a feature, and convert them in bulk to or from null.

For example, here the author is checking for attributes that are either missing or empty and converting them to nulls:

NullAttributeMapper parameters mapping missing and empty to null

One reason for this might be that the workspace converts data from a format that does not support nulls, to one that does. It's necessary to explicitly map the values here because empty/missing values may be permitted in the output and FME will not automatically map data from empty to null, just because a format supports it.

In this second example, the author is checking attributes for existing null values. If the value is set to null then it gets replaced with a zero:

NullAttributeMapper mapping null to a new value

Presumably, this must be a numeric field. If it was a text field perhaps the author would set it to an empty string instead. Unlike before, the author wouldn't need to do this when converting from a format that supports null to a format that doesn't, because FME will map the values automatically when the current state isn't supported.

A better reason for this mapping is that the author wants to carry out a numeric calculation where zero is a valid number but <null> isn't.